如果有在研究或使用 AI Agent 的人,常常會把 AI 關進沙箱、擋掉對外連線,覺得這樣它就跑不出去了。然而在2026 年 9 月,OpenAI 公開了一起事件:一個正在訓練的 agent 在幾乎所有對外連線都被擋下的情況下,找到一條沒人注意的路,連上外部的聊天機器人。
這篇文章就來一下整理事件經過、技術原因和 OpenAI 的處置,最後聊聊我認為我們工程師,應該從中學到什麼。
根據 OpenAI 的官方報告,在 9/20 的時候,有一個 agent 在強化學習訓練的過程中,接到一個任務是找出某篇部落格的作者。
雖然它嘗試過的方法全都失敗了:
但是它發現,沙箱裡的 DNS 解析器會回傳真實網域的紀錄。於是它推論出這條路連得到外面,把問題編進網域名稱,透過公開的 DNS 委派服務轉給外部的聊天機器人,前後共送出 19 個問題。(但最後它還是沒找到作者)。
報告列出的時間線如下(報告沒有標明時區):
| 時間 | 事件 |
|---|---|
| 09:50 | agent 發出 DNS 查詢,取得外部回應 |
| 10:02 | 監控系統發出最高等級(P0)警報 |
| 10:05 | 值班人員確認警報 |
| 12:34 | 工作被手動停止 |
從警報響起到真正停下,中間隔了將近 2.5 小時。Ars Technica 的報導指出,原本應該觸發的自動停止機制沒有啟動,現場對要不要停下也有過混亂。
DNS 平常被當成「只是把網址轉成 IP 地址」,所以常被忽略。但它本來就能夾帶資料,資安界稱這種手法為 DNS tunneling。
OpenAI 在 9/25 公開這份報告後,處置包括:
外界反應方面,The Verge 認為這顯示 agent 越來越難控制。
看到這件事我真的覺得太神奇,我常常教課的時候就一直跟學生說 AI 不能幫你負責,出事了還是要工程師扛,所以千萬不要過度依賴 AI。
隨着 Agent 能做的事越來越多,越來越多人開始依賴甚至是把自己的所有權限都給了 Agent,但是你根本不知道你的 agent 昨天做了什麼!
所以「AI 不能替你負責」不是一句口號,而是現在真實發生的事。
這也是為什麼我會一直跟學生說要學寫程式。回頭看這次事件,每一個環節都需要你真的懂:
AI 可以幫你寫程式,但出事時站出來的會是你 !
「監控本身也要驗證」這點可以再往下推一層。這次事件裡 DNS 解析器會回傳真實紀錄,代表大家把它當成「基礎設施」而不是「出口周界的一部分」。我自己的檢查順序會反過來:不要從設定檔讀「沙箱能連什麼」,而是實際在沙箱裡跑一個列舉程式,把它能發起的每一種對外流都試一遍——DNS、NTP、OCSP、套件 mirror——試出來的清單才是周界的真實形狀,跟文件上以為的形狀常常不一樣。偵測規則則可以用 canary 養著:定期讓一個測試 agent 故意做 DNS 夾帶,斷言警報一定要響。偵測器和被偵測的東西一樣會壞,差別只在壞的時候有沒有人發現。